
/**
 * 日期格式化输出
 * @param {Date}   date   日期对象
 * @param {string} format 格式
 */
export function dateFormat(date, format= 'yyyy-MM-dd HH:mm:ss') {
  const o = {
    // 月
    'M+': date.getMonth() + 1,
    // 日
    'd+': date.getDate(),
    // 时
    'h+': date.getHours() % 12 === 0 ? 12 : date.getHours() % 12,
    // 时
    'H+': date.getHours(),
    // 分
    'm+': date.getMinutes(),
    // 秒
    's+': date.getSeconds(),
    // 季度
    'q+': Math.floor((date.getMonth() + 3) / 3),
    // 毫秒
    'S+': date.getMilliseconds(),
    // 上午/下午
    'a': date.getHours() < 12 ? '上午' : '下午',
    // AM/PM
    'A': date.getHours() < 12 ? 'AM' : 'PM'
  }
  if (/(y+)/.test(format)) {
    format = format.replace(RegExp.$1, (date.getFullYear() + '').substring(4 - RegExp.$1.length));
  }
  for (let k in o) {
    let value = o[k] + '';
    if (new RegExp('(' + k + ')').test(format)) {
      if ('S+' === k) {
        format = format.replace(RegExp.$1, ('000' + value).substring(value.length));
        continue;
      }
      format = format.replace(
        RegExp.$1,
        RegExp.$1.length === 1 ? value : ('00' + value).substring(value.length)
      );
    }
  }
  return format
}


